Add RELEASING.md#8
Conversation
PR Summary by QodoAdd RELEASING.md with secure, repeatable release checklist
AI Description
Diagram
High-Level Assessment
Files changed (1)
|
Code Review by Qodo
1. Fixed /tmp venv paths
|
| uv venv /tmp/testpypi | ||
| uv pip install --python /tmp/testpypi \ | ||
| --index-url https://test.pypi.org/simple/ \ | ||
| --extra-index-url https://pypi.org/simple/ \ | ||
| agentling | ||
| /tmp/testpypi/bin/python -c "import agentling; print(agentling.__version__)" | ||
| unset UV_PUBLISH_TOKEN && rm -rf /tmp/testpypi | ||
| ``` | ||
|
|
||
| ## 5. Publish to PyPI | ||
|
|
||
| ```bash | ||
| read -rs UV_PUBLISH_TOKEN && export UV_PUBLISH_TOKEN # PyPI token this time | ||
| uv publish # default target is real PyPI | ||
| unset UV_PUBLISH_TOKEN | ||
| ``` | ||
|
|
||
| Confirm a clean-environment install: | ||
|
|
||
| ```bash | ||
| uv venv /tmp/pypi | ||
| uv pip install --python /tmp/pypi agentling | ||
| /tmp/pypi/bin/python -c "import agentling; print(agentling.__version__)" | ||
| rm -rf /tmp/pypi | ||
| ``` |
There was a problem hiding this comment.
1. Fixed /tmp venv paths 🐞 Bug ☼ Reliability
RELEASING.md hard-codes venv locations under /tmp (e.g. /tmp/testpypi, /tmp/pypi) and deletes them with rm -rf, which can fail or collide if a previous run left the directory behind or two releases are attempted concurrently. This makes the documented release workflow unnecessarily fragile.
Agent Prompt
### Issue description
The release guide creates virtualenvs in fixed locations under `/tmp` and then cleans them with `rm -rf`. If those paths already exist (e.g. an interrupted prior run) or are used by another process, the documented steps may fail or behave unexpectedly.
### Issue Context
This is documentation, but it describes commands users will copy/paste during a release. Using unique temp directories and a `trap` makes the process more robust and ensures cleanup even if a command fails.
### Fix Focus Areas
- RELEASING.md[69-77]
- RELEASING.md[89-94]
### Suggested change (example)
Replace fixed `/tmp/...` dirs with a unique temp dir and ensure cleanup:
```bash
TMP_VENV=$(mktemp -d /tmp/agentling-testpypi.XXXXXX)
trap 'rm -rf "$TMP_VENV"; unset UV_PUBLISH_TOKEN' EXIT
uv venv "$TMP_VENV"
uv pip install --python "$TMP_VENV" \
--index-url https://test.pypi.org/simple/ \
--extra-index-url https://pypi.org/simple/ \
agentling
"$TMP_VENV"/bin/python -c "import agentling; print(agentling.__version__)"
```
Do the same for the PyPI verification venv section.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
Document the release process: green-gate preflight, TestPyPI dry run,
secure token handling (read -rs into UV_PUBLISH_TOKEN), --extra-index-url for
dependencies, publish to PyPI, and an annotated tag + GitHub release from the
CHANGELOG section.